/* linux/drivers/media/video/samsung/jpeg_v2x/jpeg_conf.h
 *
 * Copyright (c) 2010 Samsung Electronics Co., Ltd.
 * http://www.samsung.com/
 *
 * Definition Quantization Table for Jpeg encoder/docoder
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/

#ifndef __JPEG_CONF_H__
#define __JPEG_CONF_H__

/* Q-table for JPEG */
/*  ITU standard Q-table */
const unsigned int ITU_Q_tbl[4][16] = {
	{
	0x100a0b10, 0x3d332818, 0x130e0c0c, 0x373c3a1a,	/*  table 0 */
	0x18100d0e, 0x38453928, 0x1d16110e, 0x3e505733,
	0x38251612, 0x4d676d44, 0x40372318, 0x5c716851,
	0x574e4031, 0x65787967, 0x625f5c48, 0x63676470
	} , {
	0x2f181211, 0x63636363, 0x421a1512, 0x63636363,	/* table 1 */
	0x63381a18, 0x63636363, 0x6363422f, 0x63636363,
	0x63636363, 0x63636363, 0x63636363, 0x63636363,
	0x63636363, 0x63636363, 0x63636363, 0x63636363
	} , {
	0x100a0b10, 0x3d332818, 0x130e0c0c, 0x373c3a1a,	/* table 2 */
	0x18100d0e, 0x38453928, 0x1d16110e, 0x3e505733,
	0x38251612, 0x4d676d44, 0x40372318, 0x5c716851,
	0x574e4031, 0x65787967, 0x625f5c48, 0x63676470
	} , {
	0x2f181211, 0x63636363, 0x421a1512, 0x63636363,	/* table 3 */
	0x63381a18, 0x63636363, 0x6363422f, 0x63636363,
	0x63636363, 0x63636363, 0x63636363, 0x63636363,
	0x63636363, 0x63636363, 0x63636363, 0x63636363
	}
};

/* ITU Luminace Huffman Table */
static unsigned int ITU_H_tbl_len_DC_luminance[4] = {
	0x00000000, 0x00000000, 0x00000000, 0x00000c00
};
static unsigned int ITU_H_tbl_val_DC_luminance[3] = {
	0x03020100, 0x07060504, 0x0b0a0908
};

/* ITU Chrominace Huffman Table */
static unsigned int ITU_H_tbl_len_DC_chrominance[4] = {
	0x00000000, 0x00000000, 0x00000000, 0x000c0000
};
static unsigned int ITU_H_tbl_val_DC_chrominance[3] = {
	0x03020100, 0x07060504, 0x0b0a0908
};
static unsigned int ITU_H_tbl_len_AC_luminance[4] = {
	0x00000000, 0x00000000, 0x00000000, 0xa2000000
};

static unsigned int ITU_H_tbl_val_AC_luminance[41] = {
	0x00030201, 0x12051104, 0x06413121, 0x07615113,
	0x32147122, 0x08a19181, 0xc1b14223, 0xf0d15215,
	0x72623324, 0x160a0982, 0x1a191817, 0x28272625,
	0x35342a29, 0x39383736, 0x4544433a, 0x49484746,
	0x5554534a, 0x59585756, 0x6564635a, 0x69686766,
	0x7574736a, 0x79787776, 0x8584837a, 0x89888786,
	0x9493928a, 0x98979695, 0xa3a29a99, 0xa7a6a5a4,
	0xb2aaa9a8, 0xb6b5b4b3, 0xbab9b8b7, 0xc5c4c3c2,
	0xc9c8c7c6, 0xd4d3d2ca, 0xd8d7d6d5, 0xe2e1dad9,
	0xe6e5e4e3, 0xeae9e8e7, 0xf4f3f2f1, 0xf8f7f6f5,
	0x0000faf9
};

static u32 ITU_H_tbl_len_AC_chrominance[4] = {
	0x00000000, 0x00000000, 0x51000000, 0x00000051
};
static u32 ITU_H_tbl_val_AC_chrominance[41] = {
	0x00030201, 0x12051104, 0x06413121, 0x07615113,
	0x32147122, 0x08a19181, 0xc1b14223, 0xf0d15215,
	0x72623324, 0x160a0982, 0x1a191817, 0x28272625,
	0x35342a29, 0x39383736, 0x4544433a, 0x49484746,
	0x5554534a, 0x59585756, 0x6564635a, 0x69686766,
	0x7574736a, 0x79787776, 0x8584837a, 0x89888786,
	0x9493928a, 0x98979695, 0xa3a29a99, 0xa7a6a5a4,
	0xb2aaa9a8, 0xb6b5b4b3, 0xbab9b8b7, 0xc5c4c3c2,
	0xc9c8c7c6, 0xd4d3d2ca, 0xd8d7d6d5, 0xe2e1dad9,
	0xe6e5e4e3, 0xeae9e8e7, 0xf4f3f2f1, 0xf8f7f6f5,
	0x0000faf9
};

#endif /* __JPEG_CONF_H__ */
